package com.itlong.cloud.operate.service;

import com.itlong.cloud.POJO.DTO.operate.OperateOurPayInfoDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateThirdPayInfoDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateThirdPayPageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateOurThirdPayVO;
import com.itlong.cloud.POJO.VO.operate.OperateThirdPayVO;
import com.itlong.cloud.utils.page.Page;

/**
 * <desc>
 *      运营-财务管理-第三方支付管理接口。
 * <desc/>
 *
 * @createDate 2018/09/25.
 */
public interface IOperateThirdPayService {

    /**
     * <desc>
     *      第三方支付信息分页查询
     * <desc/>
     *
     * @param operateThirdPayPageDTO 分页查询参数
     * @return
     * @author Qiang.S
     * @createDate 2018-09-25
     */
      Page<OperateThirdPayVO> getThirdPayInfoPage(OperateThirdPayPageDTO operateThirdPayPageDTO) throws Exception;

    /**
     * <desc>
     *      查询第三方支付信息数量
     * <desc/>
     *
     * @param thirdPartyPayment 第三方支付 1微信支付 2银联支付
     * @return
     * @author Qiang.S
     * @createDate 2018-09-25
     */
    Integer getThirdPayCount(String thirdPartyPayment) throws Exception;

    /**
     * <desc>
     *      新增第三方支付信息
     * <desc/>
     *
     * @param operateThirdPayInfoDTO 第三方提现信息
     * @return
     * @author Qiang.S
     * @createDate 2018-09-25
     */
    Integer saveThirdPayInfo(OperateThirdPayInfoDTO operateThirdPayInfoDTO) throws Exception;

    /**
     * <desc>
     *      物业提现规则设置
     * <desc/>
     *
     * @param operateOurPayInfoDTO 公司提现规则
     * @return
     * @author Qiang.S
     * @createDate 2018-09-20
     */
    Integer saveOurPayInfo(OperateOurPayInfoDTO operateOurPayInfoDTO) throws Exception;

    /**
     * <desc>
     *      查询第三方支付详细信息
     * <desc/>
     *
     * @param paymentManagementId 支付管理ID 逻辑ID
     * @return
     * @author Qiang.S
     * @createDate 2018-09-25
     */
    OperateThirdPayVO getThirdPayDetail(String paymentManagementId) throws Exception;

    /**
     * <desc>
     *      获取物业提现规则
     * <desc/>
     *
     * @return
     * @author Qiang.S
     * @createDate 2018-09-25
     */
    OperateOurThirdPayVO getOurPayInfo() throws Exception;

    /**
     * <desc>
     *      修改状态
     * <desc/>
     *
     * @param paymentManagementId 支付管理ID
     * @param status 支付管理ID  1正常 2禁用
     * @return
     * @author Qiang.S
     * @createDate 2018-09-20
     */
    Integer updateStatus(String paymentManagementId, String status) throws Exception;

}
